package com.qing.thread.stop;

/**
 * 停止线程
 * 1：建议让线程自己停止：利用次数，不建议死循环
 * 2：建议设置一个标志位进行判断是否停止
 * 3：不要使用stop或者destroy等过时的方法和jdk不推荐的方法
 */
public class StopThread implements Runnable {

    private boolean flag = true;

    @Override
    public void run() {
        int i = 0;
        while (flag) {
            System.out.println("线程一直在运行~~~~~~~~~~" + (i++));
        }
    }

    //修改标识符，使线程终止
    public void stopThread() {
        this.flag = false;
    }


    public static void main(String[] args) {
        //开启线程
        StopThread stopThread = new StopThread();
        new Thread(stopThread).start();

        for (int i = 0; i < 1000; i++) {
            if (i == 900) {
                stopThread.stopThread();
                System.out.println("创建的线程通过标识符修改该停止咯---");
            }
            System.out.println("主线程跑了" + i + "次");
        }
    }
}
